import axios from 'axios';
import qs from 'qs';
// 创建实例
const instance = axios.create({
  baseURL: 'http://localhost:7001'
});
// 请求拦截
instance.interceptors.request.use(
  config => {
    // 带上token请求接口
    config.headers.authorization = sessionStorage.getItem('token');
    if (config.method === 'post') {
      config.data = qs.stringify(config.data);
    }
    return config;
  },
  err => {
    return Promise.reject(err);
  }
);

// 响应拦截
instance.interceptors.response.use(
  response => {
    // console.log(response, 'response')
    // 一般判断 状态 直接返回数据
    if (response.status === 200) {
      return response.data;
    }
  },
  err => {
    // 封装状态码
    const status = err.response.status;
    switch (status) {
      case 401:
        alert('未授权，请先登陆再使用');
        break;
      case 500:
        alert('服务器开小差了，请联系管理员');
        break;
      default:
        console.log(1);
    }
  }
);

export default instance;
